package cn.gong.utils;

import android.util.Log;

public class LogUtils {
	private static final String TAG = "cn.gong";
	public static boolean IS_TRACE = false;

	public static void log(String tag, String msg) {
		if (IS_TRACE) {
			Log.i(tag, msg);
		}
	}

	public static void log(String msg) {
		log(TAG, msg);
	}

	public static void log(Object msg) {
		log(String.valueOf(msg));
	}

	public static void log(String msg, Class clazz) {
		log(msg + " class:" + clazz.getName());
	}

	public static void log(Object msg, Class clazz) {
		log(String.valueOf(msg), clazz);
	}

	public static void log(String tag, String msg, Class clazz) {
		log(tag, msg + " class:" + clazz.getName());
	}

	public static void log(String tag, Object msg, Class clazz) {
		log(tag, String.valueOf(msg), clazz);
	}

	public static void exception(Exception e) {
		exception(TAG, e);
	}

	public static void exception(String tag, Exception e) {
		if (IS_TRACE) {
			error(tag, "异常:");
			error(tag, "Caused by:" + e.toString());
			for (StackTraceElement stackTraceElement : e.getStackTrace()) {
				error(stackTraceElement.toString());
			}
		}
	}

	private static void error(String msg) {
		error(TAG, msg);
	}

	private static void error(String tag, String msg) {
		Log.w(tag, msg);
	}

	public static void exception(Error error) {
		if (IS_TRACE) {
			Log.w(TAG, error);
		}
	}

}
